package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单信息对象 orders
 * 
 * @author ruoyi
 * @date 2024-01-09
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private Long id;

    /** 下单用户账号 */
    @Excel(name = "下单用户账号")
    private String userid;

    /** 订单民宿编号 */
    @Excel(name = "订单民宿编号")
    private Long homestayid;

    /** 民宿名称 */
    @Excel(name = "民宿名称")
    private String homestayName;

    /** 特色商品关联的房间订单 */
    @Excel(name = "特色商品关联的房间订单")
    private Long roomOrderid;

    /** 下单商品类型（0为房间，1为特色） */
    @Excel(name = "下单商品类型", readConverterExp = "0=为房间，1为特色")
    private Long goodsType;

    /** 商品编号（房间编号或者特色编号） */
    @Excel(name = "商品编号", readConverterExp = "房=间编号或者特色编号")
    private Long goodsid;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private Long goodsPrice;

    /** * 订单类型（预定未付款10，预定已付款为11,退款中30,退款完成31） */
    @Excel(name = "* 订单类型", readConverterExp = "预=定未付款10，预定已付款为11,退款中30,退款完成31")
    private Long orderType;

    /** 已付金额 */
    @Excel(name = "已付金额")
    private Long amountPaid;

    /** 房间入住/特色体验时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "房间入住/特色体验时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 房间数量/特色体验人数 */
    @Excel(name = "房间数量/特色体验人数")
    private Long goodsNum;

    /** 是否使用优惠券（0没有，1有） */
    @Excel(name = "是否使用优惠券", readConverterExp = "0=没有，1有")
    private Long isUseCoupon;

    /** 优惠券数量 */
    @Excel(name = "优惠券数量")
    private Long couponid;

    /** 单个优惠券金额 */
    @Excel(name = "单个优惠券金额")
    private Long couponSubsidy;

    /** 优惠券数量 */
    @Excel(name = "优惠券数量")
    private Long couponNum;

    /** 用户名字 */
    @Excel(name = "用户名字")
    private String username;

    /** 用户电话 */
    @Excel(name = "用户电话")
    private String tele;

    /**  * 订单状态(预定订单1，已完成订单2，退款订单3) */
    @Excel(name = " * 订单状态(预定订单1，已完成订单2，退款订单3)")
    private Long orderStatus;

    /** 订单评分 */
    @Excel(name = "订单评分")
    private BigDecimal score;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserid(String userid) 
    {
        this.userid = userid;
    }

    public String getUserid() 
    {
        return userid;
    }
    public void setHomestayid(Long homestayid) 
    {
        this.homestayid = homestayid;
    }

    public Long getHomestayid() 
    {
        return homestayid;
    }
    public void setHomestayName(String homestayName) 
    {
        this.homestayName = homestayName;
    }

    public String getHomestayName() 
    {
        return homestayName;
    }
    public void setRoomOrderid(Long roomOrderid) 
    {
        this.roomOrderid = roomOrderid;
    }

    public Long getRoomOrderid() 
    {
        return roomOrderid;
    }
    public void setGoodsType(Long goodsType) 
    {
        this.goodsType = goodsType;
    }

    public Long getGoodsType() 
    {
        return goodsType;
    }
    public void setGoodsid(Long goodsid) 
    {
        this.goodsid = goodsid;
    }

    public Long getGoodsid() 
    {
        return goodsid;
    }
    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }
    public void setGoodsPrice(Long goodsPrice) 
    {
        this.goodsPrice = goodsPrice;
    }

    public Long getGoodsPrice() 
    {
        return goodsPrice;
    }
    public void setOrderType(Long orderType) 
    {
        this.orderType = orderType;
    }

    public Long getOrderType() 
    {
        return orderType;
    }
    public void setAmountPaid(Long amountPaid) 
    {
        this.amountPaid = amountPaid;
    }

    public Long getAmountPaid() 
    {
        return amountPaid;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setGoodsNum(Long goodsNum) 
    {
        this.goodsNum = goodsNum;
    }

    public Long getGoodsNum() 
    {
        return goodsNum;
    }
    public void setIsUseCoupon(Long isUseCoupon) 
    {
        this.isUseCoupon = isUseCoupon;
    }

    public Long getIsUseCoupon() 
    {
        return isUseCoupon;
    }
    public void setCouponid(Long couponid) 
    {
        this.couponid = couponid;
    }

    public Long getCouponid() 
    {
        return couponid;
    }
    public void setCouponSubsidy(Long couponSubsidy) 
    {
        this.couponSubsidy = couponSubsidy;
    }

    public Long getCouponSubsidy() 
    {
        return couponSubsidy;
    }
    public void setCouponNum(Long couponNum) 
    {
        this.couponNum = couponNum;
    }

    public Long getCouponNum() 
    {
        return couponNum;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setTele(String tele) 
    {
        this.tele = tele;
    }

    public String getTele() 
    {
        return tele;
    }
    public void setOrderStatus(Long orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus() 
    {
        return orderStatus;
    }
    public void setScore(BigDecimal score) 
    {
        this.score = score;
    }

    public BigDecimal getScore() 
    {
        return score;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("userid", getUserid())
            .append("homestayid", getHomestayid())
            .append("homestayName", getHomestayName())
            .append("roomOrderid", getRoomOrderid())
            .append("goodsType", getGoodsType())
            .append("goodsid", getGoodsid())
            .append("goodsName", getGoodsName())
            .append("goodsPrice", getGoodsPrice())
            .append("orderType", getOrderType())
            .append("amountPaid", getAmountPaid())
            .append("startTime", getStartTime())
            .append("goodsNum", getGoodsNum())
            .append("isUseCoupon", getIsUseCoupon())
            .append("couponid", getCouponid())
            .append("couponSubsidy", getCouponSubsidy())
            .append("couponNum", getCouponNum())
            .append("username", getUsername())
            .append("tele", getTele())
            .append("orderStatus", getOrderStatus())
            .append("score", getScore())
            .toString();
    }
}
